Many circuit simulator users have, at one time or another, observed a simulation which fails to converge or is slow to converge. Nonconvergence generally results from the failure of a nonlinear solution algorithm (e.g., Newton-Raphson algorithm) associated with the simulation program; it means the simulator failed to determine a set of node voltages and branch currents for the circuit being simulated which conform to Kirchhoff's voltage and current laws to which the simulator is bound. There are several reasons the circuit simulator may fail to converge. Some of the problems may be traced to the nonlinear solution algorithm itself, some to the type of analysis being performed (e.g., step response is more likely to have nonconvergence issues compared to a ramp response), and others to the circuit element models. Transient circuit simulation that includes several mutual inductance elements often fails to converge to a reasonable solution due primarily to the high complexity of the system. Nonconvergence and/or slow convergence are probably among the most persistent and challenging problems facing circuit simulator users; and the problems are not confined to a specific circuit simulator or hardware platform.
Generally, a given input/output circuit design may be complex and involve making a trade-off between performance and reliability. For example, in a typical input/output circuit design process, electrostatic discharge (ESD) protection devices may be added to the input/output circuit. The ESD protection devices and the input/output circuit would then be implemented in silicon and tested to determine whether or not the circuit meets design specifications. Circuit simulation prior to implementation in silicon allows the circuit designer to optimize circuit performance and yet reduce the number of costly iterations in silicon. Simulating circuit behavior in the presence of an ESD input stimulus, however, poses particularly unique challenges and is therefore often avoided. This is primarily because an ESD pulse exhibits a comparatively fast rise or fall time, typically on the order of about a few tens of picoseconds (ps) or less, and a comparatively large magnitude voltage and/or current, typically on the order of hundreds of volts and/or several amperes, respectively. The sharp edge of the ESD pulse often creates discontinuities in the transient analysis performed by the simulation program which can result in nonconvergence problems, particularly when there are nonlinear elements in the circuit being simulated.
Accordingly, there exists a need for techniques for performing circuit simulation which do not suffer from one or more of the above-described problems associated with conventional circuit simulation approaches.